package com.py.framework.core.base.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.py.framework.core.common.Page;

public interface BaseMapper<T> {

	List<T> selectListByConditionForPage(@Param(value = "params") Map<String, Object> params,
			@Param(value = "conditions") List<String> conditions, @Param(value = "columns") List<String> showColumns,
			@Param(value = "additionalColumns") String[] additionalColumns, @Param(value = "page") Page page);

	List<T> selectListForPage(@Param(value = "params") Map<String, Object> params, @Param(value = "page") Page page);

	T select(@Param(value = "id") String id);

	void delete(@Param(value = "id") String id);

	void add(T record);

	void update(T record);

}
